#pragma once

#include <QObject>
#include <core/util/mvp.h>
#include <core/util/mesh.h>

namespace presenters {

class CContainer : public QObject {
  Q_OBJECT

public:
  CContainer(QObject *_pModel, const QString & ModelName, QObject * _pSubPresenter);
  
public slots:
  void OnElementPicked(IMesh::element_type, int);
  
public:
  static mvp::IPresenterCreator::SP MakeCreator();
  
private:
  void Recalc(const QString & l0, const QString & l1, int elementIndex);
  
private:
  QObject *m_pModel;
  QString m_ModelName;
  
  QObject *m_pSubPresenter;
};

}